import os
import time
import random


def devices():
	'''
	获取设备列表
	:return:
	'''
	# 执行adb devices命令，获取设备列表
	result = os.popen('adb devices').read()
	# 将结果按行分割，并去掉空行
	_devices = [line.strip() for line in result.split('\n') if line.strip()]
	# 去掉第一行（标题行）
	_devices = _devices[1:]
	# 去掉设备列表\t后面的内容包括\t
	_devices = [device.split('\t')[0] for device in _devices]
	# 返回设备列表
	return _devices


def get_device_id():
	device = devices()
	if len(device)==0:
		return None
	return device[0]


def view_size():
	'''
	获取屏幕分辨率
	:return:
	'''
	device_id = get_device_id()
	# 获取屏幕分辨率
	result = os.popen(f'adb -s {device_id} shell wm size').read()
	# 将结果按空格分割，并去掉空行
	size = [line.strip() for line in result.split(' ') if line.strip()]
	# 返回屏幕分辨率
	return size[2].split('x')


def click_position():
	'''
	点击指定位置
	:param x:
	:param y:
	:return:
	'''
	device_id = get_device_id()
	x, y = view_size()
	os.popen(f'adb -s {device_id} shell input tap {int(x) - 50} {int(y) - 50}')


while True:
	click_position()
	# 获取随机0.1-0.3的数值
	time.sleep(0.1 + random.random() * 0.2)
